今天要介紹的是 JavaScript 中的 Worker
。
JavaScript 本身是單線程的,這代表它一次只能處理一件任務,因此在處理大量計算或IO操作時,可能會導致網頁凍結或反應緩慢。
為了解決性能缺點,Worker
就誕生了。Worker
是一個獨立的線程,運行在後台,不會阻塞主線程。主要用途是執行耗時的操作,而不會對用戶界面的反應時間產生負面影響,像是:
我們可以想作,開啟一條新線程來處理其他比較耗時的任務。
當然,有好就有壞,開啟一條新線程相當於多用了一份資源,就可能造成資源的浪費,因此不應該過度使用。
除了以上優點以外,Worker
在使用上還是有些限制:
而缺點的部分,可以想作多用了一份資源去另外開啟新線程,因此可能造成資源的浪費。